package org.soarsky.wealthchengdu.network;

import java.util.List;

import org.soarsky.wealthchengdu.entity.CommentResultMsg;
import org.soarsky.wealthchengdu.entity.FocusData;
import org.soarsky.wealthchengdu.entity.JsonResult;
import org.soarsky.wealthchengdu.entity.LogonResult;
import org.soarsky.wealthchengdu.entity.NewsContentData;
import org.soarsky.wealthchengdu.entity.NewsResultMsg;
import org.soarsky.wealthchengdu.entity.WeatherData;


public interface FGFWebService {

	/**
	 * 登录方法 <T>我返回正确结果集
	 * */
	public abstract JsonResult<LogonResult> authLogon(String userName)
			throws Exception;

	/**
	 * 登出 判断 LogonResult.isLoginResult 是否成功退出
	 * */
	public abstract JsonResult<LogonResult> authLogout() throws Exception;

	/**
	 * 5.3.3	更新昵称
	 * @param nickName
	 *            0-10个字符
	 * @return
	 * @throws Exception
	 */
	public abstract JsonResult<Boolean> updNickName(String nickName)
			throws Exception;

	public abstract JsonResult<List<FocusData>> getFocus(String cateId)
			throws Exception;

	/**
	 * 5.4	焦点图服务(Focus Service) 
	 * 参数意思参考文档
	 * */
	public abstract JsonResult<List<FocusData>> getFocus(String cateId,
			String limit, String order, String sort) throws Exception;

	/**
	 * 5.5	新闻服务(News Service) 
	 * */
	public abstract JsonResult<NewsResultMsg> getNews(String cateId,
			String level) throws Exception;

	/**
	 *5.5	新闻服务(News Service) 
	 * */
	public abstract JsonResult<NewsResultMsg> getNews(String cateId,
			String level, String keyword, String limit, String page,
			String order, String sort) throws Exception;

	/**
	 * 5.5.2	获取新闻内容
	 * */
	public abstract JsonResult<NewsContentData> getNewsContent(String id)
			throws Exception;

	/**
	 *5.5	新闻服务(News Service) 
	 * 5.6.1	获取评论内容
	 * */
	public abstract JsonResult<CommentResultMsg> getComment(String id,
			String limit, String page) throws Exception;

	/**
	 * 5.6.2	评论文章	
	 * */
	public abstract JsonResult<String> sendComment(String id, String content)
			throws Exception;

	/**
	 * 5.7.1	文章“赞一个”	
	 * */
	public abstract JsonResult<String> sendVote(String id) throws Exception;

	/**
	 * 5.8.1	文章分享成功通知
	 * */
	public abstract JsonResult<String> sendShare(String id) throws Exception;

	/**
	 * 5.9.1	文章收藏成功通知
	 * */
	public abstract JsonResult<String> sendCollect(String id) throws Exception;

	/**
	 * 5.10	天气服务(Weather Service) 
	 * */
	public abstract JsonResult<WeatherData> getWeather(String limit)
			throws Exception;

}